package cn._51doit.kafka

import java.util.Properties

import org.apache.kafka.clients.producer.{KafkaProducer, ProducerRecord}
import org.apache.kafka.common.serialization.StringSerializer

/**
 * @create: 2021-10-11 22:07
 * @author: 珠穆朗玛峰顶峰的男人
 * @program: kafka_java_scala
 * 生产者
 **/
object ScalaProducer {
  def main(args: Array[String]): Unit = {
    //配置kafka参数
    val properties = new Properties
    // 连接kafka节点
    properties.setProperty("bootstrap.servers", "doit01:9092,doit02:9092,doit03:9092")
    //指定key序列化方式
    properties.setProperty("key.serializer", "org.apache.kafka.common.serialization.StringSerializer")
    //指定value序列化方式
    properties.setProperty("value.serializer", classOf[StringSerializer].getName) // 两种写法都行
    //创建一个创建一个生产者实例  泛型是k v的数据类型
    val prodicer = new KafkaProducer[String, String](properties)
    //封装数据 参数 指定topic key value
    val producerecord = new ProducerRecord[String, String]("word", null, "hello kafka")
    //写入数据方法
    prodicer.send(producerecord)
    //关闭资源
    prodicer.close()
  }
}
